package com.cskaoyan.javase.basic._5escape;

/**
 * 什么是转义字符？
 * 所谓转义字符，就是用反斜杠（\）加上一个特殊的字符串用来表示一个全新的字符
 * 因为这个字符已经和原先字符串的意思大不相同，所以整体称之为转义字符
 *
 * 转义字符的作用是什么？
 * 实际上转义字符可以表示任何一个普通字符，但是普通的字符直接书写给出即可，使用转义字符意义不大。
 * 转移字符最重要的用途是，表示那些无法用键盘直接输入的控制字符。比如在ASCII码表中，那些换行，翻页等等字符
 *
 * 常见的转义字符：
 * \b	退格(BS) ，将当前位置移到前一列	008
 * \n	换行(LF) ，将当前位置移到下一行开头	010
 * \r	回车(CR) ，将当前位置移到本行开头	013
 * \t	水平制表(HT) （跳到下一个TAB位置）	009
 * \\	两个反斜杠表示一个反斜杠	092
 * \'	代表一个单引号（撇号）字符	039
 * \"	代表一个双引号字符	034
 *
 * \ddd	 1到3位八进制数所代表的任意字符	Unicode编码前256个字符
 * \0	 空字符，什么都没有	000
 * \\uxxxx	4位十六进制所代表的任意字符	Unicode编码前65536个字符
 * \\u0000	空字符，什么都没有	000
 *
 * @since 10:46
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("hello world!");
        System.out.println("hello\b");
        // sout的输出方法println是输出并换行
        System.out.println(666);
        // print是只输出没有换行
        System.out.print(777);
        System.out.print(888 + "\n");
        System.out.println(999);
        System.out.print("000");
        System.out.println();
        // 回车作为了解 不是很常用
        System.out.println("你是一个\r好人!");
        System.out.println("123\t456");

        // 双反斜杠表示一个反斜杠,重点(因为后面很常用)
        System.out.println("\\");
        System.out.println("\'");
        System.out.println("\"");

        // 141是一个八进制数,是十进制97的八进制表示
        System.out.println("\141");
        System.out.println("\u0061");

        // 编码值为0的字符,绝对空的字符,什么都没有
        System.out.println("\000");
        System.out.println("\u0000");
    }
}
